Nomspaco estas abstrakta universo, kiun konsistigas nomoj, terminoj ktp. Ene de nomspaco ĉiu nomo devas esti nemiskomprenebla.
Modernaj programlingvoj ebligas uzi po plurajn nomspacojn samtempe; unu sama nomo povas ekzisti en pluraj el ili, havante malsamajn signifojn. Tiam oni povas precizigi, pri kiu signifo temas, indikante la nomspacon en kiu la bezonata nocio estas difinita.